

class SPClassExpertInfo {
	String ?spProLast10CorrectNum;
	String ?spProLast10Result;
	String ?spProAvatarUrl;
	String ?spProUserId;
	String ?spProNickName;
	String ?spProMaxRedNum;
	String ?spProCorrectRate;
	String ?spProSchemeNum;
	String ?intro;
	String ?spProFollowerNum;
	bool ?spProIsFollowing;
  String ?spProRecentProfit;
  String ?spProRecentAvgOdds;
  String ?spProGoodAtLeagues;
  String ?spProCurrentRedNum;
  String ?spProRecentProfitSum;
  List ?spProExpertLeaguesRecent;
  String ?spProCorrectRate30Day;
  SPClassHit ?spProHit;
  SPClassLeagues ?spProLeaguesList;

  SPClassExpertInfo({json}){
    if(json!=null){
      fromJson(json);
    }
  }
  fromJson(Map<String, dynamic> json) {
    json=json["expert_info"];

    spProLast10CorrectNum = json["last_10_correct_num"]?.toString();
    spProRecentProfitSum = json["recent_profit_sum"]?.toString();
		spProLast10Result = json["last_10_result"]?.toString();
		spProAvatarUrl = json["avatar_url"]?.toString();
		spProUserId = json["user_id"]?.toString();
		spProNickName = json["nick_name"]?.toString();
		spProMaxRedNum = json["max_red_num"]?.toString();
    spProCorrectRate = json["correct_rate"]?.toString();
    spProRecentProfit = json["recent_profit"]?.toString();
    spProRecentAvgOdds = json["recent_avg_odds"]?.toString();
    spProGoodAtLeagues = json["good_at_leagues"]?.toString();
    intro = json["intro"]?.toString();
		spProSchemeNum = json["scheme_num"]?.toString();
    spProFollowerNum = json["follower_num"]?.toString();
    spProCurrentRedNum = json["current_red_num"]?.toString();
    spProIsFollowing = json["is_following"].toString()=='1' ? true:false;
    spProExpertLeaguesRecent =json["expert_leagues_recent"]==null?[]:json["expert_leagues_recent"]?.toList();
    if(json["correct_rate_30day"]!=null){
      spProCorrectRate30Day = json["correct_rate_30day"].toString();
    }
    if(json["hit"]!=null){
      spProHit = SPClassHit(json: json["hit"]);
    }
    if(json["leagues_list"]!=null){
      spProLeaguesList = SPClassLeagues(json: json["leagues_list"]);
    }
  }
}

class SPClassHit{
  SPClassHitDetail ?spProAll;
  SPClassHitDetail ?spProMonth;
  SPClassHitDetail ?spProWeek;
  SPClassHit({json}){
    if(json!=null){
      fromJson(json);
    }
  }
  fromJson(Map<String, dynamic> json) {
    spProAll =SPClassHitDetail(json: json['all']);
    spProMonth =SPClassHitDetail(json: json['month']);
    spProWeek = SPClassHitDetail(json: json['week']);
  }
}

class SPClassLeagues{
  List<SPClassHitDetail> ?spProAll;
  List<SPClassHitDetail> ?spProMonth;
  List<SPClassHitDetail> ?spProWeek;
  SPClassLeagues({json}){
    if(json!=null){
      fromJson(json);
    }
  }
  fromJson(Map<String, dynamic> json) {
    if(json['all']!=null){
      spProAll=[];(json['all'] as List).forEach((v) {spProAll?.add(SPClassHitDetail(json: v));});
    }
    if(json['month']!=null){
      spProMonth=[];(json['month'] as List).forEach((v) {spProMonth?.add(SPClassHitDetail(json: v));});
    }
    if(json['week']!=null){
      spProWeek=[];(json['week'] as List).forEach((v) {spProWeek?.add(SPClassHitDetail(json: v));});
    }
  }
}

class SPClassHitDetail{
  int ?spProRed;
  int ?spProGo;
  int ?spProBlack;
  int ?spProCount;
  String ?spProLeagueName;

  SPClassHitDetail({json}){
    if(json!=null){
      fromJson(json);
    }
  }
  fromJson(Map<String, dynamic> json) {
    spProRed = json['red'];
    spProGo = json['go'];
    spProBlack = json['black'];
    spProCount = json['count'];
    if(json['league_name']!=null){
      spProLeagueName = json['league_name'];
    }
  }

}
